$(function () {
    var goodsId=GetQueryString("goods_id");
    $.ajax({
        url:"http://api.qujiamall.com/Goods/GetGoods?goods_id="+goodsId,
        type:"get",
        dataType:"JSON",
        async : true,
        success:function(json){
            if(json.code==1){
                //为数据添加默认图片属性和默认价格
                var firstImg=json.data.skus[0].thumb_url;
                var firstPrice=json.data.skus[0].sale_price;
                json.data.firstImg=firstImg;
                json.data.firstPrice=firstPrice;

                //总数组
                var allObj=[];
                //规格的数量
                var speNum=json.data.skus[0].specs.length;
                //所有规格对象
                var arrObj={};
                //规格值组成的数组
                var valueArr=[];
                var keyNameArr=[];
                //遍历规格个数
                for(var i=0;i<speNum;i++){
                    valueArr[i]=[];
                    //遍历订单组合的条数
                    for(var j=0;j<json.data.skus.length;j++){
                        if($.inArray(json.data.skus[j].specs[i].spec_value,valueArr[i])==-1){
                            valueArr[i].push(json.data.skus[j].specs[i].spec_value);
                        }
                        if($.inArray(json.data.skus[j].specs[i].spec_key,keyNameArr)==-1){
                            keyNameArr.push(json.data.skus[j].specs[i].spec_key);
                        }
                    }
                    arrObj={
                        keyName:keyNameArr[i],
                        values:valueArr[i]
                    };
                    allObj.push(arrObj);
                    // console.log(allObj)
                }
                // console.log(allObj);
                json.data.allObj=allObj;
                // 商品详情
                var contentGds = Handlebars.compile($("#contentTep").html());
                // Handlebars.registerHelper("myCount" , function(index){
                //     return index + 1 ;
                // });
                $("#gdsContent").append(contentGds(json));
                //服务说明弹窗模板
                $(".special").bind("click",function (event) {
                    var notice = Handlebars.compile($("#noticeMask").html());
                    $('.maskContain').html(notice(json)).show();
                    //阻止弹框内容冒泡触发父元素关闭
                    $(".specialNotice").bind("click",function (event) {
                        event.stopPropagation();
                    });
                    // 固定body，阻止滚动
                    $("body").addClass("scrollPre");
                });
                //红包弹窗模板
                $(".redBag").bind("click",function (event) {
                    $('.maskContain').html($("#redMask").html()).show();
                    //阻止弹框内容冒泡触发父元素关闭
                    $(".pingRed").bind("click",function (event) {
                        event.stopPropagation();
                    });
                    // 固定body，阻止滚动
                    $("body").addClass("scrollPre");
                });
                //初始化轮播图设置
                var mySwiper = new Swiper ('.swiper-container', {
                    direction: 'horizontal',
                    loop: true,
                    autoplay: {
                        delay: 2000,
                        stopOnLastSlide: true,
                        disableOnInteraction: true
                    },
                    on: {
                        slideChangeTransitionEnd: function(){
                            var index=this.activeIndex;
                            if(index==json.data.top_pictures.length+1){
                                index=1;
                            }
                            $(".current").html(index);
                        }
                    }
                    // 如果需要分页器
                    // pagination: {
                    //     el: '.swiper-pagination'
                    // }
                });

                // 拼手气
                $(".goPin").click(function () {

                    var goLuckOrder = Handlebars.compile($("#goLuck").html());
                    $('.maskContain').html(goLuckOrder(json)).show();

                    // $('.maskContain').html($("#goLuck").html()).show();
                    //数量选择
                    $(".increase").click(function () {
                        var num = $(".value").val();
                        num++;
                        $(".value").val(num);
                    });
                    $(".decrease").click(function () {
                        var num = $(".value").val();
                        num--;
                        if(num<1){
                            return;
                        }
                        $(".value").val(num);
                    });
                    //阻止弹框内容冒泡触发父元素关闭
                    $(".goLuck").bind("click",function (event) {
                        event.stopPropagation();
                    });
                    // 固定body，阻止滚动
                    $("body").addClass("scrollPre");
                    // 选择按钮效果
                    $(".sys_item_spec").each(function(){
                        var i=$(this);
                        var p=i.find(".btn-ch");
                        p.click(function(){
                            if(!!$(this).hasClass("on_selected")){
                                $(this).removeClass("on_selected");
                            }else{
                                $(this).addClass("on_selected").siblings(".btn-ch").removeClass("on_selected");
                                console.log($(this).parent(".sys_item_spec").parent(".colorCh").siblings(".colorCh").find(".sys_item_spec").find("button.on_selected").text());
                                if($(this).parent(".sys_item_spec").parent(".colorCh").siblings(".colorCh").find(".sys_item_spec").find("button.on_selected").text()){
                                    var specsChoice=[];
                                    var specsObj={};
                                    var speItems=$(".colorCh");
                                    $.each(speItems,function (index,elem) {
                                        if($(elem).find(".sys_item_spec").find("button.on_selected").length==0){
                                            var spe_nameKey=$(elem).find(".headerCol").text();
                                            layer.msg("请求选择"+spe_nameKey);
                                        }else {
                                            // console.log($(elem).find(".headerCol").text()+":"+$(elem).find(".sys_item_spec").find("button.on_selected").text());
                                            specsObj={
                                                spec_key:$(elem).find(".headerCol").text(),
                                                spec_value:$(elem).find(".sys_item_spec").find("button.on_selected").text()
                                            };
                                            specsChoice.push(specsObj);
                                        }

                                    });
                                    $.each(json.data.skus,function (index,elem) {
                                        if(JSON.stringify(specsChoice)==JSON.stringify(json.data.skus[index].specs)){
                                            $(".gdContain").find("img.goodsPic").attr("src",json.data.skus[index].thumb_url);
                                            $(".priChoice").find(".pri").find(".pricNum").text(json.data.skus[index].sale_price);
                                            console.log(json.data.skus[index].sku_id);
                                            console.log(json.data.skus[index].is_sale);
                                            console.log(json.data.skus[index].sale_price);
                                            console.log(json.data.skus[index].thumb_url);
                                        }
                                    });
                                }
                            }
                            //修改选择的规格展示
                            var alSpec_str='已选:';
                            var siblingsArr=$(this).parent(".sys_item_spec").parent(".colorCh").siblings(".colorCh");
                            $.each(siblingsArr,function (index,elem) {
                                alSpec_str+='&nbsp;';
                                alSpec_str+=$(elem).find(".sys_item_spec").find("button.on_selected").text();
                            });
                            if($(this).hasClass("on_selected")){
                                alSpec_str+=('&nbsp;'+$(this).text());
                            }else if(alSpec_str=='已选:&nbsp;'){
                                alSpec_str="请选择";
                            }
                            $(".priChoice").find(".choose").html(alSpec_str);
                        })
                    });
                    // 确定
                    $(".luckyBtn").bind("click",function () {
                        var specsChoice=[];
                        var specsObj={};
                        var speItems=$(".colorCh");
                        $.each(speItems,function (index,elem) {
                            // console.log($(elem).find(".headerCol").text());
                            // console.log($(elem).find(".sys_item_spec").find("button.on_selected").length)
                            if($(elem).find(".sys_item_spec").find("button.on_selected").length==0){
                                var spe_nameKey=$(elem).find(".headerCol").text();
                                layer.msg("请求选择"+spe_nameKey);
                            }else {
                                // console.log($(elem).find(".headerCol").text()+":"+$(elem).find(".sys_item_spec").find("button.on_selected").text());
                                specsObj={
                                    spec_key:$(elem).find(".headerCol").text(),
                                    spec_value:$(elem).find(".sys_item_spec").find("button.on_selected").text()
                                };
                                specsChoice.push(specsObj);
                            }

                        });
                        $.each(json.data.skus,function (index,elem) {
                            if(JSON.stringify(specsChoice)==JSON.stringify(json.data.skus[index].specs)){
                                console.log(json.data.skus[index].sku_id);
                                console.log(json.data.skus[index].is_sale);
                                console.log(json.data.skus[index].sale_price);
                                console.log(json.data.skus[index].thumb_url);
                                var goodsId=json.data.goods_id;
                                var skuId=json.data.skus[index].sku_id;
                                var thumbUrl=json.data.skus[index].thumb_url;
                                var salePrice=json.data.skus[index].sale_price;
                                var summary=encodeURI(json.data.summary);
                                var spcText=encodeURI($(".priChoice").find(".choose").text());
                                var godsNum=$(".decrease").next("input.spinner").val();
                                //拼单ID
                                var orderGroupId=GetQueryString("order_group_id");
                                //推荐人手机号
                                var referrerName=GetQueryString("referrer_name");
                                if(json.data.skus[index].is_sale){
                                    if(localStorage.getItem("userId")){
                                        window.location.href=encodeURI("quJia.html?goodsId="+goodsId+"&skuId="+skuId+"&thumbUrl="+thumbUrl+"&salePrice="+salePrice+"&summary="+summary+"&spcText="+spcText+"&godsNum="+godsNum+"&order_group_id="+orderGroupId);
                                    }else{
                                        window.location.href=encodeURI("login.html?goodsId="+goodsId+"&skuId="+skuId+"&thumbUrl="+thumbUrl+"&salePrice="+salePrice+"&summary="+summary+"&spcText="+spcText+"&godsNum="+godsNum+"&referrer_name="+referrerName);
                                    }
                                }else {
                                    layer.msg("此规格不可购买");
                                }
                            }
                        });
                        // console.log(specsChoice);
                    })
                });
            }
        }
    });
    // 导航条中标题文字效果
    window.onscroll = function(){
        var t = document.documentElement.scrollTop || document.body.scrollTop;  //获取距离页面顶部的距离
        if( t >= 88 ) { //当距离顶部超过300px时
            $('.gdTitle').css('color','#333');
        } else { //如果距离顶部小于300px
            $('.gdTitle').css('color','rgba(0,0,0,0)');
        }
    };
});
//isEqual：判断两个对象是否键值对应相等
function isEqual(a,b){
    //如果a和b本来就全等
    if(a===b){
        //判断是否为0和-0
        return a !== 0 || 1/a ===1/b;
    }
    //判断是否为null和undefined
    if(a==null||b==null){
        return a===b;
    }
    //接下来判断a和b的数据类型
    var classNameA=toString.call(a),
        classNameB=toString.call(b);
    //如果数据类型不相等，则返回false
    if(classNameA !== classNameB){
        return false;
    }
    //如果数据类型相等，再根据不同数据类型分别判断
    switch(classNameA){
        case '[object RegExp]':
        case '[object String]':
            //进行字符串转换比较
            return '' + a ==='' + b;
        case '[object Number]':
            //进行数字转换比较,判断是否为NaN
            if(+a !== +a){
                return +b !== +b;
            }
            //判断是否为0或-0
            return +a === 0?1/ +a === 1/b : +a === +b;
        case '[object Date]':
        case '[object Boolean]':
            return +a === +b;
    }
    //如果是对象类型
    if(classNameA == '[object Object]'){
        //获取a和b的属性长度
        var propsA = Object.getOwnPropertyNames(a),
            propsB = Object.getOwnPropertyNames(b);
        if(propsA.length != propsB.length){
            return false;
        }
        for(var i=0;i<propsA.length;i++){
            var propName=propsA[i];
            //如果对应属性对应值不相等，则返回false
            if(a[propName] !== b[propName]){
                return false;
            }
        }
        return true;
    }
    //如果是数组类型
    if(classNameA == '[object Array]'){
        if(a.toString() == b.toString()){
            return true;
        }
        return false;
    }
}




